export enum TerminalLogTagEnum {
  /** 初始化命令行提示语 */
  init = 'init'
}

export interface TerminalGroupParams {
  fold: boolean;
  logs: TerminalViewerContentParams[];
  tag?: TerminalLogTagEnum;
}

export interface DragConfigParams {
  width: number;
  height: number;
  zIndex: number;
  /** 初始化位置坐标 */
  init: {
    x: number | null;
    y: number | null;
  };
  /** 是否钉住 */
  pinned: boolean;
}

export interface TerminalCommandParams {
  key: string;
  title: string;
  group: string;
  usage: string;
  description: string;
  example: { des: string; cmd: string }[];
}

export interface TerminalViewerContentParams {
  /** 消息主类型 */
  class?: string | null;
  type: MESSAGE_TYPE;
  content: any;
  /** 消息标签 */
  tag?: string;
}

export enum ListenerFunTypeEnum {
  /** 执行操作 */
  execute = 'execute',
  /** 添加消息 */
  pushMessage = 'pushMessage'
}

export enum MESSAGE_TYPE {
  /** 基础模式 */
  NORMAL = 'normal',
  /** 命令行 */
  CMDLINE = 'cmdLine',
  HTML = 'html',
  /** 表格 */
  TABLE = 'table',
  /** 查看代码 */
  CODE = 'code'
}

export enum TriggerClickType {
  /** 全屏 */
  fullscreen = 'fullscreen',
  /** 缩小-最小化 */
  minScreen = 'minScreen',
  /** 钉墙 */
  pin = 'pin'
}
/** 代码高亮主题类型 */
export enum HljsThemeEnumType {
  /** 默认 */
  default = 'default',
  /** 暗 */
  a11yDark = 'a11yDark',
  /** 亮 */
  a11yLight = 'a11yLight',
  vs2015 = 'vs2015',
  monokai = 'monokai'
}
/** 代码高亮语言类型 */
export enum HljsLanguageEnumType {
  typescript = 'typescript',
  java = 'java',
  javascript = 'javascript',
}
/** 会话状态 */
export enum AskMessageType {
  /** 会话响应 */
  ASK_RESPONSE = 'askResponse',
  /** 会话结束 */
  ASK_END = 'askEnd',
  /** 会话超时 */
  ASK_TIMEOUT = 'askTimeout'
}
